%# -*- coding: utf-8-unix -*-
%%==================================================
\chapter{系统的零极点和单位脉冲响应}

从控制的目标出发，我们首先关心的是系统输出的特性。因此，得到系统的模型以后，为了确定系统是否满足我们的要求，需要在某个输入条件下求解系统的输出响应方程。

\begin{figure}[!htp]
\centering
\includegraphics[width=10cm]{../../notes/images/model2/ode.png}
\caption{微分方程模型求解}
\label{fig2-1}
\end{figure}

通过上一章的学习，我们知道利用拉普拉斯变换得到传递函数模型后，系统频域输出的求解过程可以变得简便。

\begin{figure}[!htp]
\centering
\includegraphics[width=10cm]{../../notes/images/model2/tf.png}
\caption{传递函数模型求解}
\label{fig2-2}
\end{figure}

在使用传递函数建立系统模型后，在频域中求解的输出表示为一个代数方程，是多个输出模态的叠加。

例如：



\section{传递函数的零极点}

系统传递函数模型的极点和零点是反应系统特性的重要概念。

\begin{mydef}{系统的极点}{}

系统极点的定义为：使$G(s)=\infin$的s值

\end{mydef}

\begin{mydef}{系统的零点}{}

系统的零点定义为：使$G(s)=0$的s值

\end{mydef}

系统的极点与输出的时间响应模态存在对应关系，因此要分析确定系统的时间响应特性时，通过拉氏变换得到系统频域传递函数和零极点后，可根据对应的模态进行定性分析，而不再继续求解最后的输出响应方程。

例如：

$$
G(s)=\frac{1}{s+1}
$$

有一个有限极点$s=-1$，没有有限零点，但有一个无限零点$s=\infin$。

该系统。。。具有

需要注意的是，物理系统的有限零点数不能大于该系统的有限极点数，但考虑到无限零点的情况，零极点的数目是一样的。

在matlab中，绘制零极点图使用函数$pzmap()$

```matlab
Gs=zpk([],[-1],1);
pzmap(Gs)
```

绘制
$$
G(s)=\frac{s+4}{(s+1)(s+2)}
$$
的零极点图

在matlab中，执行

```matlab
Gs=zpk(-4,[-1 -2],1)
pzmap(Gs)
```

可得

\begin{figure}[!htb]
\centering
\includegraphics[width=10cm]{../../notes/images/exa-2-1.png}
\caption{一阶系统零极点图}
\label{fig3-1}
\end{figure}


我们将系统极点的数目称为系统的阶次。

二阶系统

\begin{align}

G(s)=\frac{s+4}{(s+1)(s+2)}

\end{align}

的零极点为

\begin{figure}[!htb]
\centering
\includegraphics[width=10cm]{../../notes/images/exa-2-1.png}
\caption{二阶系统零极点图}
\label{fig3-2}
\end{figure}


\section{系统的时间响应}

例1：单位脉冲响应

求如下系统的单位脉冲响应

$$
G(s)=\frac{2}{s^2+4s+3}
$$

单位脉冲响应的输入为

$$
r(t)=\delta(t)=\left\{ 
\begin{array}{lr}
\infty \quad t=0 \\
0 \,\,\,\quad t\ne0
\end{array}
\right.
$$

脉冲输入的频域信号为

$$
R(s)=L[\delta(t)]=1
$$

由传递函数定义

$$
Y(s)=G(s)R(s)=\frac{2}{s^2+4s+3}\\
=\frac{1}{s+1}-\frac{1}{s+3}
$$

所以

$$
y(t)=e^{-t}-e^{-3t}
$$

在matlab中，可以用$impulse()$函数直接得到系统的脉冲响应。执行下面的程序可以对比公式（7）和matlab内置函数

\begin{lstlisting}[language={Matlab}, caption={一段源代码}]
Gs=tf(2,[1 4 3]);
t=0:0.01:10;
y1=impulse(Gs,t);
y2=exp(-t)-exp(-3*t);
plot(t,y1,'r',t,y2,'b--')
legend('y1','y2')
grid on
xlabel('时间t(秒)')
ylabel('y(t)')
title('系统脉冲响应')
\end{lstlisting}

输出结果为

\begin{figure}[!htb]
\centering
\includegraphics[width=10cm]{../../notes/images/impulse.png}
\caption{单位脉冲响应}
\label{fig3-3}
\end{figure}


例2：单位阶跃响应

同样对系统（2），将输入信号改为单位阶跃信号

$$
r(t)=\left\{ 
\begin{array}{lr}
1 \quad t\ge0 \\
0 \quad t<0
\end{array}
\right.
$$

阶跃输入的频域信号为

$$
R(s)=\frac{1}{s}
$$

由传递函数定义，有

$$
Y(s)=G(s)R(s)=\frac{2}{s^2+4s+3}\frac{1}{s}\\
=\frac{2/3}{s}-\frac{1}{s+1}+\frac{1/3}{s+3}
$$

所以

$$
y(t)=\frac{2}{3}-e^{-t}+\frac{1}{3}e^{-3t}
$$

在matlab中，可以用$step()$函数直接得到系统的阶跃响应。执行下面的程序可以对比公式（11）和matlab内置函数

\begin{lstlisting}[language={Matlab}, caption={一段源代码}]
Gs=tf(2,[1 4 3]);
t=0:0.01:10;
y1=step(Gs,t);
y2=2/3-exp(-t)+exp(-3*t)/3;
plot(t,y1,'r',t,y2,'b--')
legend('y1','y2')
grid on
xlabel('时间t(秒)')
ylabel('y(t)')
title('系统阶跃响应')
\end{lstlisting}

输出结果为

\begin{figure}[!htb]
\centering
\includegraphics[width=10cm]{../../notes/images/step.png}
\caption{单位阶跃响应}
\label{fig3-4}
\end{figure}


例3：单位阶跃响应

求如下系统的单位阶跃响应

$$
G(s)=\frac{5}{s^2+2s+5}
$$

由传递函数定义，有

$$
Y(s)=G(s)R(s)=\frac{5}{s^2+2s+5}\frac{1}{s}\\
=\frac{1}{s}-\frac{s+2}{s^2+2s+5}
$$

其中，$s^2+2s+5=0$特征根是复数，需要用衰减正弦函数和衰减余弦函数来进行求逆

\begin{figure}[!htb]
\centering
\includegraphics[width=10cm]{../../notes/images/dampingsin.png}
\caption{衰减正弦}
\label{fig3-5}
\end{figure}

变换（13）

$$
Y(s)=\frac{1}{s}-\frac{s+2}{s^2+2s+5} \\
=\frac{1}{s}-\frac{s+2}{(s+1)^2+2^2} \\
=\frac{1}{s}-
\left[
\frac{s+1}{(s+1)^2+2^2}+\frac{1}{2}\frac{2}{(s+1)^2+2^2}
\right]
$$

则

$$
y(t)=1-e^{-t}
\left[
cos(2t)+\frac{1}{2}sin(2t)
\right]
$$

执行下面的程序可以对比公式（15）和matlab内置函数

\begin{lstlisting}[language={Matlab}, caption={一段源代码}]
Gs=tf(5,[1 2 5]);
t=0:0.01:10;
y1=step(Gs,t);
y2=1-exp(-t).*(cos(2*t)+sin(2*t)/2);
plot(t,y1,'r',t,y2,'b--')
legend('y1','y2')
grid on
xlabel('时间t(秒)')
ylabel('y(t)')
title('系统阶跃响应')
\end{lstlisting}


\section{极点配置分析}

输出响应的特性与极点配置直接相关，我们可以通过极点配置直接确定响应特性。不再需要求解出响应函数。


\subsection{单根极点的三种情况}




\subsection{重根极点的三种情况}


\section{开环零极点和闭环极点}

前面的分析中，影响系统输出响应的是输出响应特性的极点，那系统的零点有什么作用呢？

对于闭环系统

【闭环系统图】

闭环系统的传递函数为

$$
T(s)=\frac{G(s)}{1+G(s)}
$$





